/******************************************************************************
//             INTEL CORPORATION PROPRIETARY INFORMATION
//  This software is supplied under the terms of a license agreement or
//  nondisclosure agreement with Intel Corporation and may not be copied
//  or disclosed except in accordance with the terms of that agreement.
//        Copyright (c) 2000-2001 Intel Corporation. All Rights Reserved.
//
//  Description:
//      Intel(R) JPEG library for X platform 
//
********************************************************************************/
#ifndef _IJECODE_H
#define _IJECODE_H

void ijAdjustMCUBufferFwd_1 (IJMCUSPEC *pMCUSpec,
                             IJBUFFER  *pIJXBuffer);
void ijAdjustMCUBufferFwd_3 (IJMCUSPEC *pMCUSpec,
                             IJBUFFER  *pIJXBuffer);

int ijCalcQuantQualityFactor(int nSrcQuality);

void ijAdjustRestartIntervalFwd(IJBITTREAMSTATE *pStream,
                                IJENCODESTATE *pEncodeState);

IJXRESULT ijWriteHead(char *pComments,
                      int  nCommentLen,
                      IJBITTREAMSTATE *pStream,
                      IJENCODESTATE *pEncodeState);

IJXRESULT ijCalcEncBufferSize(int         nJPEGMode,
                              IJMCUSPEC   *pMCUSpec,
                              IJBUFFER    *pIJXBuffer);

IJXRESULT ijCompress_BaseLine_L( IJBITTREAMSTATE *pStream,
                                 IJENCODESTATE *pEncodeState);
IJXRESULT ijCompress_BaseLine_H( IJBITTREAMSTATE *pStream,
                                 IJENCODESTATE *pEncodeState);
#if IPPJPVER!=1
IJXRESULT ijCompress_Progressive(IJBITTREAMSTATE *pStream,
                                 IJENCODESTATE *pEncodeState);
#endif

IJXRESULT ijCompress_Motion_Indiv(IJBITTREAMSTATE *pStream,
                                  IJENCODESTATE *pEncodeState);

///////////////////////////////////////
#ifdef _MOTION_DIFF
IJXRESULT ijCompress_Motion_Diff(IJBITTREAMSTATE *pStream,
                                 IJENCODESTATE *pEncodeState);
#else

#define ijCompress_Motion_Diff NULL

#endif

#ifdef _MOTION_BEIRF
IJXRESULT ijCompress_Motion_Brief(IJBITTREAMSTATE *pStream,
                                  IJENCODESTATE *pEncodeState);
#else

#define ijCompress_Motion_Brief NULL

#endif

///////////////////////////////////////

#endif
/* EOF */

